#ifndef _POINT_FACTORY_H
#define _POINT_FACTORY_H

#include "Point.h"

class PointFactory{
	private:
		std::vector<Point *> points;
		static PointFactory *pf;

		PointFactory(){

		}

		Point* getPoint(std::bitset<8> initID, vector3 initPos);

	public:
		static PointFactory *getInstance();

		void reset();

		Point* createPoint(std::bitset<8> initID, vector3 initPos, vector3 normal);

		void updateNormal();
};

#endif